package com.jml.类加载器;

import java.util.Arrays;
import java.util.List;

/**
 * @Author: J
 * @DATE: 2022-04-24 14:36
 */
public class 加载的目录 {
    /**
     * 启动类加载器加载的路径
     */
    public static void bootstrapClassLoader() {
        String property = System.getProperty("sun.boot.class.path");
        List<String> list = Arrays.asList(property.split(";"));
        list.forEach((t) -> {
            System.out.println("启动类加载器目录:" + t);
        });
    }

    /**
     * 扩展类加载器加载的路径
     */
    public static void extClassLoader() {
        String property = System.getProperty("java.ext.dirs");
        List<String> list = Arrays.asList(property.split(";"));
        list.forEach((t) -> {
            System.out.println("扩展类加载器" + t);
        });
    }

    /**
     * 应用类加载器: 既包含了启动类加载器的东西也包含了扩展类加载器的class
     * 还包含了classpath下的class
     */
    public static void appClassLoader() {
        String property = System.getProperty("java.class.path");
        List<String> list = Arrays.asList(property.split(";"));
        list.forEach((t) -> {
            System.out.println("应用类加载器" + t);
        });
    }
}
